package com.studio49.exmple.service.appInterface;

import com.studio49.exmple.core.entity.pub.JsonResult;
import com.studio49.exmple.entity.appInterface.appUser.LoginReqEntity;
import com.studio49.exmple.entity.appInterface.appUser.MobileUpdateReqEntity;
import com.studio49.exmple.entity.appInterface.appUser.OpenidLoginReqEntity;
import com.studio49.exmple.entity.appInterface.appUser.RegisterReqEntity;
import com.studio49.exmple.entity.appInterface.appUser.UserNameReqEntity;
import com.studio49.exmple.entity.appInterface.appUser.UuidLoginReqEntity;
import com.studio49.exmple.entity.appInterface.appUser.VerificationCodeLoginReqEntity;
import com.studio49.exmple.entity.appInterface.appUser.VerificationCodeReqEntity;

public interface AppUserService {

	public JsonResult getVerificationCode(VerificationCodeReqEntity verificationCodeReqEntity) throws Exception;
	
	/**
	 * APP手机注册
	 * 
	 * @param registerReqEntity
	 * @return JsonResult
	 * @throws Exception
	 */
	public JsonResult register(RegisterReqEntity registerReqEntity) throws Exception;
	
	public JsonResult mobileLogin(LoginReqEntity loginReqEntity) throws Exception;
	
	/**
	 * 验证码登录
	 * @param verificationCodeReqEntity
	 * @return
	 */
	public JsonResult verificationCodeLogin (VerificationCodeLoginReqEntity verificationCodeReqEntity) throws Exception;
	
	public JsonResult uuidLogin(UuidLoginReqEntity uuidLoginReqEntity) throws Exception;
	
	public JsonResult openidLogin(OpenidLoginReqEntity openidLoginReqEntity) throws Exception;
	
	
	public JsonResult modifyUserName(UserNameReqEntity userNameReqEntity) throws Exception;
	
	
	public JsonResult updateMobile(MobileUpdateReqEntity mobileUpdateReqEntity) throws Exception;

	/**
	 * APP用户重置密码
	 *
	 * @param registerReqEntity
	 * @return
	 */
	public JsonResult resetPassword(RegisterReqEntity registerReqEntity) throws Exception;

	
}
